package basic;

import java.util.ArrayList;
import java.util.Iterator;

/**
 * Conjunto de palavras com significado semelante
 * @author silviojr
 *
 */
public class Synset {
	/**
	 * Classe gramatical
	 */
	Classe classe;
	ArrayList<Termo> lista = new ArrayList<Termo>();
	
	public void adicionaTermo(String termo){
			add(new Termo(termo));
	}
	
	public boolean contemTermo(String termo){
		for(int i = 0; i < lista.size(); i++){
			if(lista.get(i).compara(termo)) return true;
		}
		return false;
	}
	
	/**
	 * Dado um termo, retorna os termos relacionados a ele em um synset separado
	 * @param termo
	 * @return
	 */
	public Synset retornaSynset(String termo){
		Synset retorno = new Synset();
		Iterator<Termo> it = lista.iterator();
		while(it.hasNext()){
			if(!it.next().compara(termo))
				retorno.add(it.next());
		}
		return retorno;
	}

	private void add(Termo termo) {
		if(!contemTermo(termo.getNome()))
			lista.add(termo);
	}
}
